package com.logic.modular.game.core.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * pvp对局信息(PvpMatchEnd)表实体类
 *
 * @author cxy
 * @since 2024-09-09 11:57:21
 */
@ApiModel("pvp对局信息")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
@SuppressWarnings("serial")
public class PvpMatchEnd extends Model<PvpMatchEnd> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("id")
    private Long id;
    
    @ApiModelProperty("对局id")
    private Long matchId;
    
    @ApiModelProperty("玩家id")
    private Long playerId;
    
    @ApiModelProperty("消灭玩家数")
    private Integer eliminatePlayers;
    
    @ApiModelProperty("拥有城池数")
    private Integer citiesQuantity;

    @ApiModelProperty("排名")
    private Integer ranking;

    @ApiModelProperty("总经验")
    private Long exp;

    private Long expReward1;
    private Long expReward2;
    private Long expReward3;
    private Long expReward4;

    @ApiModelProperty("总胜点")
    private Long winPoint;

    @ApiModelProperty("对局排名奖励")
    private Long winPoint1;

    @ApiModelProperty("生存排名奖励(生存排名|存活时间)")
    private Long winPoint2;

    @ApiModelProperty("kda奖励")
    private Long winPoint3;


    @ApiModelProperty("被谁击败")
    private Long killedBy;

    @ApiModelProperty("是否为统治者/自然结算按最多城池拥有者")
    private Integer isRuler;

    @ApiModelProperty("结束方式: 0.投降 1.被击败 2.统一 3.游戏结束")
    private Integer endType;
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = 332379540642770689L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 非数据库字段
    /////////////////////////////////////////////////////////////////////////////////////////////////////////    领域业务
}